package com.zany.children.dao;

import com.zany.children.vo.ChargesOwedDetail;
import com.zany.children.vo.PaymentProject;

import java.util.List;
import java.util.Map;

public interface ChargesOwedDetailDao {

    /**
     * 保存欠费明细信息。
     * @param chargesOwedDetail
     * @return
     */
    Long saveChargesOwedDetail(ChargesOwedDetail chargesOwedDetail);

    /**
     * 修改欠费明细信息.
     * @param chargesOwedDetail
     */
    void updateChargesOwedDetail(ChargesOwedDetail chargesOwedDetail);

    /**
     * 删除欠费明细信息.
     * @param id
     */
    void deleteChargesOwedDetailById(Long id);

    /**
     * 查询欠费明细列表。
     * @param chargesOwedDetail
     * @return
     */
    List<ChargesOwedDetail> getChargesOwedDetailListPage(ChargesOwedDetail chargesOwedDetail);

    /**
     * 查询欠费明细列表count.
     * @param chargesOwedDetail
     * @return
     */
    Integer getChargesOwedDetailListPageCount(ChargesOwedDetail chargesOwedDetail);

    /**
     * 通过id获取欠费明细信息.
     * @param id
     * @return
     */
    ChargesOwedDetail getChargesOwedDetailById(Long id);


    List<ChargesOwedDetail> getChargesOwedDetailByCondition(Map<String, Object> map);


    /**
     * 通过学生id获取此学生的所有欠费项目.
     * @return
     */
    List<PaymentProject> getProjectListByStuId(Map<String,Object> param);

}
